"""
2. 背包问题
    有n个商品，第i个商品价值vi 元， 中 wi 千克， 拿走价值尽量搞，但背包最多容纳 w 千克的东西。

    0-1 背包：
        对于商品，要不全拿，要不不拿。
    
    分数背包：
        对于商品可以拿走一部分。
    
    商品1 v = 60 w = 10
    商品2 v = 100 w = 20
    商品3 v = 120 w = 30
    背包容量 w = 50
    
    # 0-1 背包看动态规划里
    
"""
# 贪心算法就是 单位重量最值钱的
# 这种情况一般只适合分数背包（可以取一部分）

def get_max_money(bak):
    list_ = [(60,10), (100,20), (120, 30)]
    result = [ 0 for i in list_]
    # 排序
    list_.sort(key=lambda x: x[0]/x[1], reverse=True)
    for index, value in enumerate(list_):
        if bak >= value[1]:
            result[index] = 1
            bak = bak - value[1]
        else:
            result[index] = bak / value[1]
            break
    return result

result = get_max_money(50)
print(result)